1. Field of the Invention
The present invention relates to a communication control apparatus, a communication control method, and a communication control program which perform transfer rate control when data is transferred via a communication channel.
2. Description of the Related Art
Recent years have seen an increase in use of services based on a stream type transmission system, in addition to long-existing services based on a download type transmission system, in data transfer on the Internet. Take transfer of multimedia data such as video files and audio files, for example. In the case of the services based on the download type transmission system, a data file is once downloaded from a distribution server to a receiver terminal, and thereafter the data file is played. Therefore, in the download type transmission system, the file cannot be played until completion of the transfer of the whole file. Thus, the download type transmission system is not suitable for long-time playback, real-time playback, or the like.
In the case of the stream type transmission system, while data is transferred from a transmitter to a reception terminal, that part of the data which has been received can be played. Thus, the stream type transmission system is suitable for use in Internet services such as Internet telephones, remote videoconferencing, and video on demand (see Japanese Patent Laid-open No. 2005-210347).
There is an Internet technique called Real-time Transport Protocol (RTP) defined in IETF RFC 3550. The RTP is suitable for use in the stream type transmission system. In data transfer according to RTP, time stamps are added as time information to packets, and the time stamps are used to recognize temporal relationships between a transmitter and a receiver, so that synchronization can be achieved for playback, free from influence of packet delay variation (jitter) or the like.
Here, RTP does not guarantee real-time data transfer. Priorities, configuration, management, and so on of delivery of the packets are not supported by a transport service provided by RTP. Therefore, like other types of packets, RTP packets may suffer a delay in delivery and packet loss.
Even if such an unfavorable event occurs, the receiver is capable of playing the data using only packets that have arrived in time as expected. This is because, even if video or audio data suffer a little data loss, the playback of the data is possible to some extent. However, user datagram protocol (UDP) has a problem in that UDP does not perform control over the rate of streaming for itself, and may allow transfer of data that exceeds an effective bandwidth of a network. In such a case, some data transmitted may be lost, resulting in deterioration in image quality, and in addition, that may affect traffic in other parts of the network.
There is a technique called Adaptive Rate Control (ARC), which is a technique for improving reliability in the data transfer using RTP. The Adaptive Rate Control (ARC) controls a transfer rate according to an algorithm based on TCP Friendly Rate Control (TFRC) described in RFC 3448 (M. Handley, et al., “TCP Friendly Rate Control (TFRC): Protocol Specification,” RFC 3448, 2003).